'************************** 'AD9953+AD9954 cont Ver 0.0.1 '2008.09.07 'JA4LAO 'ATmega88-20 '************************** Config Portd.0 = Output 'AD9953 RESET Config Portd.1 = Output 'AD9953 SCLK Config Portd.2 = Output 'AD9953 SDIO Config Portd.3 = Output 'AD9953 FQUD Config Portd.4 = Output 'AD9954 RESET Config Portd.5 = Output 'AD9954 SCLK Config Portd.6 = Output 'AD9954 SDIO Config Portd.7 = Output 'AD9954 FQUD Config Debounce = 3 Dim D_com1 As Byte Dim D_com2 As Long Dim D_com3 As Long Dim D_com4 As Byte Dim Freq_d As Long Dim Fpara2 As Long Dim Fpara3 As Long Dim Freq As Long Dim Freq2 As Long Dim L As Long Dim I As Byte Dim Offset As Long Cls 'Cursor Off D_com1 = &B00000000 D_com2 = &B00000000000000000000000000000000 'CFR-1 D_com3 = &B00000001000000000000000000000000 D_com4 = &B00000100 Freq_d = 50000000 Fpara3 = 420300300 'Ref_freq Offset = 10000 Locate 1 , 1 : Lcd Freq_d : Lcd "Hz" Gosub Re_set Gosub Reg1_set Gosub Reg2_set Gosub Data_set Gosub Data_out End Fud1_sub: Set Portd.3 : Waitus 20 : Reset Portd.3 : Waitus 10 Return Fud2_sub: Set Portd.7 : Waitus 20 : Reset Portd.7 : Waitus 10 Return Re_set: Set Portd.0 : Waitms 10 : Reset Portd.0 : Waitms 10 Set Portd.4 : Waitms 10 : Reset Portd.4 : Waitms 10 Return Reg1_set: Shiftout Portd.2 , Portd.1 , D_com1 , 1 , 8 'set cfr1 Shiftout Portd.2 , Portd.1 , D_com2 , 1 , 32 'set cfr1_data Gosub Fud1_sub Shiftout Portd.6 , Portd.5 , D_com1 , 1 , 8 'set cfr1 Shiftout Portd.6 , Portd.5 , D_com2 , 1 , 32 'set cfr1_data Gosub Fud2_sub Return Reg2_set: Shiftout Portd.2 , Portd.1 , D_com3 , 1 , 32 'set cfr2 cfr3_data Gosub Fud1_sub Shiftout Portd.6 , Portd.5 , D_com3 , 1 , 32 'set cfr2 cfr3_data Gosub Fud2_sub Return Data_out: Gosub Data_set Freq = L Shiftout Portd.2 , Portd.1 , D_com4 , 1 , 8 'set ftw0 Shiftout Portd.2 , Portd.1 , Freq , 1 , 32 'set ftw0_data Gosub Fud1_sub Freq_d = Freq_d + Offset Gosub Data_set Freq2 = L Shiftout Portd.6 , Portd.5 , D_com4 , 1 , 8 'set ftw0 Shiftout Portd.6 , Portd.5 , Freq2 , 1 , 32 'set ftw0_data Gosub Fud2_sub Return Data_set: L = 0 Fpara2 = Freq_d For I = 0 To 31 L = L * 2 Fpara2 = Fpara2 * 2 If Fpara2 >= Fpara3 Then Fpara2 = Fpara2 - Fpara3 L = L + 1 End If Next I Freq = L Return